summaryrefslogtreecommitdiff
path: root/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-11-17 20:47:44 +0900
committerjoonhoekim <26rote@gmail.com>2025-11-17 20:47:44 +0900
commite6403e9610253b2bfc7a46e470c236e2ed10c626 (patch)
tree05f7e458ac8b0f3bef56553e4cfbd666f5134042 /app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx
parentf56eb799ecdcd2baae1db26460cd1deff0a69eee (diff)
(김준회) swp: VxDCS 와 동일하게 변경, Complete된 리스트 중 없는 건이 있으면 DOCUMENT LIST에서 보여줌
Diffstat (limited to 'app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx')
-rw-r--r--app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx16
1 files changed, 10 insertions, 6 deletions
diff --git a/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx b/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx
index 67fbfd9f..eaa1d4e0 100644
--- a/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx
+++ b/app/[lng]/partners/(partners)/swp-document-upload/vendor-document-page.tsx
@@ -32,6 +32,7 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP
// 상태 관리
const [documents, setDocuments] = useState<DocumentListItem[]>([]);
const [inboxFiles, setInboxFiles] = useState<SwpFileApiResponse[]>([]);
+ const [requiredDocs, setRequiredDocs] = useState<Array<{ vendorDocNumber: string; title: string; buyerSystemComment: string | null }>>([]);
const [projNo, setProjNo] = useState(initialProjNo);
const [projects, setProjects] = useState<Array<{ PROJ_NO: string; PROJ_NM: string }>>([]);
const [stats, setStats] = useState({
@@ -95,14 +96,15 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP
// 초기 프로젝트가 있으면 문서 로드
if (initialProjNo) {
- const [documentsData, statsData, inboxFilesData] = await Promise.all([
+ const [documentsData, statsData, uploadedData] = await Promise.all([
fetchVendorDocuments(initialProjNo),
fetchVendorSwpStats(initialProjNo),
fetchVendorUploadedFiles(initialProjNo),
]);
setDocuments(documentsData);
setStats(statsData);
- setInboxFiles(inboxFilesData);
+ setInboxFiles(uploadedData.files);
+ setRequiredDocs(uploadedData.requiredDocs);
}
} catch (err) {
console.error("초기 데이터 로드 실패:", err);
@@ -120,7 +122,7 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP
setIsRefreshing(true);
setError(null);
- const [documentsData, statsData, inboxFilesData] = await Promise.all([
+ const [documentsData, statsData, uploadedData] = await Promise.all([
fetchVendorDocuments(projNo),
fetchVendorSwpStats(projNo),
fetchVendorUploadedFiles(projNo),
@@ -128,7 +130,8 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP
setDocuments(documentsData);
setStats(statsData);
- setInboxFiles(inboxFilesData);
+ setInboxFiles(uploadedData.files);
+ setRequiredDocs(uploadedData.requiredDocs);
toast.success("문서 목록을 갱신했습니다");
} catch (err) {
console.error("문서 로드 실패:", err);
@@ -319,17 +322,18 @@ export default function VendorDocumentPage({ searchParams }: VendorDocumentPageP
<Tabs value={activeTab} onValueChange={setActiveTab} className="w-full">
<TabsList className="grid w-full grid-cols-2">
<TabsTrigger value="inbox">
- SBOX (ALL)
+ DOCUMENT REGISTRATION
{/* ({filteredInboxFiles.length}) */}
</TabsTrigger>
<TabsTrigger value="documents">
- VDR Documents (Received)
+ DOCUMENT LIST
{/* ({filteredDocuments.length}) */}
</TabsTrigger>
</TabsList>
<TabsContent value="inbox" className="mt-4">
<SwpInboxTable
files={filteredInboxFiles}
+ requiredDocs={requiredDocs}
projNo={projNo}
vendorCode={vendorInfo?.vendorCode || ""}
userId={String(vendorInfo?.vendorId || "")}